//	COPYRIGHT (C) 1980 BY BOARD OF TRUSTEES,
//	LELAND STANFORD JUNIOR UNIVERSITY

//APRIL 25, 1978
//BCPL-CONGEN, WRITTEN BY RAY CARHART.  THIS FILE CONTAINS THE
//"ESTIMATE REPORTER" WHICH IS ACTIVATED AT VARIOUS POINTS IN
//A STRUCTURE GENERATION, AND EVERY COUPLE OF REAL-TIME MINUTES IT
//TYPES OUT ESTIMATED COMPLETION.  USED IN GENERA.
STATIC $( ICHECKPOINT = NIL; NCHECKPOINT = NIL $);

LET ESTRPT(CHECKTIME) BE
 $( STATIC $( PCTMIN = NIL; PCTMAX = NIL; LASTT = 0; CURT = NIL $);
 CURT:=MSDAYTIME();
 IF ABS[CURT-LASTT]<120000 DO IF CHECKTIME DO RETURN;
 IF LASTT=0 DO $( LASTT:=CURT; IF CHECKTIME DO RETURN $);
 LASTT:=CURT;
 PCTMIN:=(100*(ICHECKPOINT-1)+(NCHECKPOINT+1)/2)/NCHECKPOINT;
 PCTMAX:=(100*ICHECKPOINT+(NCHECKPOINT+1)/2)/NCHECKPOINT;
 IF PCTMAX=0 DO PCTMAX:=1;
 IF PCTMIN=100 DO PCTMIN:=99;
 NEWLINE(1);
 OUTS("estimated completion = ");
 TEST PCTMIN=PCTMAX THEN $( OUTNO(PCTMIN); OUTCH('%') $)
 OR $( OUTNO(PCTMIN); OUTCH('-'); OUTNO(PCTMAX); OUTCH('%') $);
 NEWLINE(1);
 OUTNO(NSTRUCS);
 OUTS(" structures have been generated so far*C*L");
 TERMPOSITION:=0
 $);
